#ifndef AGEOMETRY_H
#define AGEOMETRY_H

#include "common/types.h"

class AGeometry
{
public:
    virtual ~AGeometry() {}
    virtual void calculate_points() = 0;
    virtual int rows() const = 0;
    virtual int total_points(bool repeat) const = 0;
    virtual int total_components() const {return 0;}
    virtual const QVector<Point3D *> &get_points(bool repeat) const = 0;
    virtual void add_component(AGeometry *) {}
    virtual void remove_component(AGeometry *) {}
    virtual const AGeometry *get_component(int) const {}
};

#endif // AGEOMETRY_H
